From dfadead31c0fc03a1c42b2b909d03839170425c0 Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Tue, 13 Sep 2005 10:21:22 +0000 Subject: [PATCH] Newer binutils is a bit stricter and errors out when you try to use movl on a 16 bit word on x86_64. Using just a "mov" compiles fine and should result in the same code. {standard input}: Assembler messages: {standard input}:2138: Error: suffix or operands invalid for `mov' {standard input}:2140: Error: suffix or operands invalid for `mov' {standard input}:2142: Error: suffix or operands invalid for `mov' {standard input}:2144: Error: suffix or operands invalid for `mov' Signed-off-by: Rik van Riel --- xen/arch/x86/domain.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c index f8c9de8a19..84b0c95187 100644 --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -674,10 +674,10 @@ static void save_segments(struct vcpu *v) if ( VMX_DOMAIN(v) ) rdmsrl(MSR_SHADOW_GS_BASE, v->arch.arch_vmx.msr_content.shadow_gs); - __asm__ __volatile__ ( "movl %%ds,%0" : "=m" (regs->ds) ); - __asm__ __volatile__ ( "movl %%es,%0" : "=m" (regs->es) ); - __asm__ __volatile__ ( "movl %%fs,%0" : "=m" (regs->fs) ); - __asm__ __volatile__ ( "movl %%gs,%0" : "=m" (regs->gs) ); + __asm__ __volatile__ ( "mov %%ds,%0" : "=m" (regs->ds) ); + __asm__ __volatile__ ( "mov %%es,%0" : "=m" (regs->es) ); + __asm__ __volatile__ ( "mov %%fs,%0" : "=m" (regs->fs) ); + __asm__ __volatile__ ( "mov %%gs,%0" : "=m" (regs->gs) ); if ( regs->ds ) dirty_segment_mask |= DIRTY_DS; -- 2.30.2